linux.kernel
[Top] [All Lists]

Re: [patch] avoid unaligned access when accessing poll stack

Subject: Re: [patch] avoid unaligned access when accessing poll stack
From: OGAWA Hirofumi
Date: Fri, 31 Mar 2006 19:20:34 +0200
Newsgroups: linux.kernel
Andi Kleen <ak@xxxxxxx> writes:

> On Friday 31 March 2006 18:37, OGAWA Hirofumi wrote:
>> Jes Sorensen <jes@xxxxxxx> writes:
>> 
>> >    struct poll_list *walk;
>> >    struct fdtable *fdt;
>> >    int max_fdset;
>> > -  /* Allocate small arguments on the stack to save memory and be faster */
>> > -  char stack_pps[POLL_STACK_ALLOC];
>> > +  /* Allocate small arguments on the stack to save memory and be 
>> > +     faster - use long to make sure the buffer is aligned properly
>> > +     on 64 bit archs to avoid unaligned access */
>> > +  long stack_pps[POLL_STACK_ALLOC/sizeof(long)];
>> >    struct poll_list *stack_pp = NULL;
>> 
>> struct poll_list stack_pps[POLL_STACK_ALLOC / sizeof(struct poll_list)];
>> 
>> is more readable, and probably gcc align it rightly?
>
> Yes, but it would be wrong

OK. So how about this?

        char stack_pps[POLL_STACK_ALLOC]
                __attribute__((aligned (sizeof(struct poll_list))));
-- 
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at                                  www.tux.org/lkml/">http://www.tux.org/lkml/

<Prev in Thread] Current Thread [Next in Thread>
Privacy Policy